﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Sistema.Modelo;
using Sistema.Dao;
using System.Data.SqlClient;

namespace Sistema.Visao.Pessoa.Pais
{//inicia o namespace
    public partial class dataPais : Form
    {//abre o form
        //Variáveis Globais
        formPais pais;
        string nomePais;
        Boolean aux;
        int codigoPais;
        public dataPais()
        {
            InitializeComponent();
        }
        //Contrutor para interligar o formPais com o dataPais na opção Cadastro
        public dataPais(formPais formpais, Boolean auxiliar)
        {
            InitializeComponent();
            pais = formpais;
            aux = auxiliar;
        }
        //Contrutor para interligar o formPais com o dataPais na opção Alteração
        public dataPais(formPais formpais, string nomePaisAux, Boolean auxiliar, int codigoPaisAux)
        {
            InitializeComponent();
            pais = formpais;
            nomePais = nomePaisAux;
            aux = auxiliar;
            codigoPais = codigoPaisAux;
        }
        PaisMod mod = new PaisMod();// variavel da classe modelo
        PaisDao dao = new PaisDao();// variavel da classe dao
        private void button2_Click(object sender, EventArgs e)
        {
            pais.AtualizarGrid(0, "");//atualiza o grid
            pais.pegadados();
            this.Hide();//volta para o menu
        }

        private void button1_Click(object sender, EventArgs e)
        {

            if (aux == true)//se o aux for = true, é a opção de cadastro 
            {//abe o if do cadastro
                //messagem para perguntar se deseja mesmo cadastrar o pais
                DialogResult Result = MessageBox.Show("Tem certeza que deseja cadastrar o País " + tbPaisCadastro.Text, "Cadastro de País", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
                if (Result == DialogResult.Yes)
                {//abre o if do Tem certeza que deseja cadastrar
                    mod.Pais = tbPaisCadastro.Text;//passa o valor para cadastro de pais 
                    dao.ExecutarProcedimentoPais(mod, 1); // passando os valores da camanda modelo para a dao para poder realizar a execucao no banco 
                    MessageBox.Show(Convert.ToString(dao.getMensagem()));// retornando a mensagem da operacao no banco de dados
                    
            //message para perguntar se que um novo cadastro
                    DialogResult ResultNovoCadastro = MessageBox.Show("Gostaria de fazer outro cadastro", "Cadastro de País", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
                    // se responder sim, fazer novo cadastro
                    if (ResultNovoCadastro == DialogResult.Yes)
                    {
                        tbPaisCadastro.Clear();//limpa o campo
                        tbPaisCadastro.Focus();//coloca o cursso em destaque
                    }
                    // se responder nao, sair do form
                    else if (ResultNovoCadastro == DialogResult.No)
                    {
                        this.Hide();//fecha o form
                        pais.AtualizarGrid(0, "");//atualiza o grid de todos os países no formPais
                        pais.pegadados();
                    }

                }//fecha o if do Tem certeza que deseja cadastrar
            }//fecha o if do Cadastro
            else//se não vai para a opção de alteração
            {//abre o if da alteraçao
                mod.Pais = tbPaisCadastro.Text;//passa o valor para a alteração do pais
                mod.Codigo = codigoPais;//código para saber qual pais vai ser alterado por código
                dao.ExecutarProcedimentoPais(mod, 2); // passando os valores da camanda modelo para a dao para poder realizar a execucao no banco 
                MessageBox.Show(Convert.ToString(dao.getMensagem()));// retornando a mensagem da operacao no banco de dados
                pais.AtualizarGrid(0, "");//atualiza o grid
                pais.pegadados();
                this.Hide();//volta para o menu
            }//fecha o if da alteração
        }

        private void dataPais_Load(object sender, EventArgs e)
        {//abre o load
            if (aux != true)//quando iniciar o form verifica se a opação é alteração, para passar o valor do nome para o campo tbPais
            {//abre o if
                tbPaisCadastro.Text = nomePais;//campo pais recebe o valor escolhido para alteração
            }//fecha  o if 

        }//fecha o load
    }//fecha o form
}//fecha o namespace
